export default {
	/*
	 * 格式化笔数（万笔以上时，四舍五入保留小数点两位）
	 * 
	 *	 @param  笔数（笔）
	 * 	 @return 笔数（笔、万笔）
	 */
	formatTransactions(count) {
		if (count >= 10000) {
			return {
				number: (count / 10000).toFixed(2),
				unit: '万笔'
			};
		} else {
			// 使用Math.floor()向下取整
			return {
				number: Math.floor(count),
				unit: '笔'
			};
		}
	},
	/*
	 * 格式化金额（四舍五入保留小数点两位）
	 * 
	 *	 @param  金额（分）
	 * 	 @return 金额（元、万元）
	 */
	formatMoney(money) {
		if (Object.is(money, NaN)) {
			return {
				number: 0,
				unit: '元'
			}
		}


		if (money > 1000000) {
			return {
				number: (money / 1000000).toFixed(2),
				unit: '万元'
			};
		} else {
			return {
				number: (money / 100).toFixed(2),
				unit: '元'
			};
		}
	},
	/*
	 * 格式化用水量（四舍五入保留小数点两位）
	 * 
	 *	 @param  用水量（升）
	 * 	 @return 用水量（升、吨、万吨）
	 */
	formatWater(water) {
		if (Object.is(water, NaN)) {
			return {
				number: 0,
				unit: '升'
			}
		}

		// 1吨 = 1000升
		const oneTon = 1000;
		// 1万吨 = 10000 * 1000升
		const tenThousandTon = 10000 * 1000;

		if (water >= tenThousandTon) {
			return {
				number: (water / tenThousandTon).toFixed(2),
				unit: '万吨'
			};
		} else if (water >= oneTon) {
			return {
				number: (water / oneTon).toFixed(2),
				unit: '吨'
			};
		} else {
			return {
				number: water.toFixed(2),
				unit: '升'
			};
		}
	},
	/*
	 * 格式化秒级时间（四舍五入保留小数点两位）
	 * 
	 *	 @param  时间（秒）
	 * 	 @return 时间（分）
	 */
	formatSecondTime(second) {
		if (Object.is(second, NaN)) {
			return {
				number: 0,
				unit: '分钟'
			}
		}

		const minute = (second / 60).toFixed(2)
		return {
			number: minute,
			unit: '分钟'
		}
	},
	/*
	 * 格式化增长率（四舍五入保留小数点两位）
	 * 
	 *	 @param  新值、老值
	 * 	 @return 增长率
	 */
	formatGrowthRate(newValue, oldValue) {
		if (Object.is(newValue, NaN) || Object.is(oldValue, NaN) || oldValue === 0 || oldValue == '0.00') {
			return ''
		}

		const rate = ((newValue - oldValue) / oldValue) * 100
		return rate.toFixed(2) + '%'
	},
	/*
	 * 格式化当前时间
	 * 
	 * 	 @return 年-月-日 时:分:秒
	 */
	formatDate_S() {
		const d = new Date();
		let year = d.getFullYear();
		let month = d.getMonth() + 1;
		let day = d.getDate();
		let h = d.getHours();
		let mins = d.getMinutes();
		let s = d.getSeconds();
		if (month < 10) {
			month = '0' + month;
		}
		if (day < 10) {
			day = '0' + day;
		}
		if (h < 10) {
			h = '0' + h;
		}
		if (mins < 10) {
			mins = '0' + mins;
		}
		if (s < 10) {
			s = '0' + s;
		}
		const nowDate = year + '-' + month + '-' + day + ' ' + h + ':' + mins + ':' + s;
		return nowDate;
	},
	/*
	 * 格式化当前时间（精确到毫秒）
	 * 
	 * 	@return 年月日时分秒毫秒
	 */
	formatDate_MS() {
		const d = new Date();
		let year = d.getFullYear();
		let month = d.getMonth() + 1;
		let day = d.getDate();
		let h = d.getHours();
		let mins = d.getMinutes();
		let s = d.getSeconds();
		let ms = d.getMilliseconds();
		if (month < 10) {
			month = '0' + month;
		}
		if (day < 10) {
			day = '0' + day;
		}
		if (h < 10) {
			h = '0' + h;
		}
		if (mins < 10) {
			mins = '0' + mins;
		}
		if (s < 10) {
			s = '0' + s;
		}
		const nowDate = year + month + day + h + mins + s + ms;
		return nowDate;
	},
	/*
	 * 格式化时间  
	 * 
	 *   @time   形式为【2023-09-25T11:09:03.471+08:00】
	 * 	 @return 年-月-日 时:分:秒
	 */
	formatDateWithTime(time) {
		const d = new Date(time);
		let year = d.getFullYear();
		let month = d.getMonth() + 1;
		let day = d.getDate();
		let h = d.getHours();
		let mins = d.getMinutes();
		let s = d.getSeconds();
		if (month < 10) {
			month = '0' + month;
		}
		if (day < 10) {
			day = '0' + day;
		}
		if (h < 10) {
			h = '0' + h;
		}
		if (mins < 10) {
			mins = '0' + mins;
		}
		if (s < 10) {
			s = '0' + s;
		}
		const nowDate = year + '-' + month + '-' + day + ' ' + h + ':' + mins + ':' + s;
		return nowDate;
	},
}